# @Time    :2025/3/29 0:02
# nums = [1, 2, 3]
# def change_nums():
#     global nums
#     nums = [4, 5, 6]
#     print(f"函数内 nums: {nums}")
# change_nums()
# print(f"函数外 nums: {nums}")

#nonlocal 关键字的作用是在内部函数中声明使用外部嵌套函数作用域中的变量，而不是创建一个新的局部变量
def outer():
    a = 10
    def inner():
        nonlocal a#nonlocal a 的作用是告诉 Python：a 不是 inner 的局部变量，而是来自外层函数 outer 的变量，在 inner 中将 a 修改为 20
        a = 20
        print(f"1#外部函数中 a 的值: {a}")
    inner()
    print(f"外部函数中 a 的值: {a}")
outer()

